package com.ktg.service.impl;



import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ktg.ktgcommon.filter.TokenVerifyFilter;
import com.ktg.ktgcommon.domain.mainData.MdItem;
import com.ktg.ktgcommon.query.QueryMdItem;
import com.ktg.ktgcommon.service.RedisService;
import com.ktg.mapper.MDItemMapper;

import com.ktg.service.MDItemService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


import java.util.Date;
import java.util.List;


@Service
public class MDItemServiceImpl implements MDItemService {


    @Autowired
    private MDItemMapper mdItemMapper;

    @Autowired
    private RedisService redisService;

    @Override
    public Page<MdItem> selectPage(Page<MdItem> page, QueryMdItem queryMdItem) {
        Page<MdItem> mdItemIPage = mdItemMapper.selectOrderPage(page, queryMdItem);
        return mdItemIPage;
    }

    @Override
    public Integer delMdItem(Integer mdItemId) {
        mdItemMapper.delMdItem(mdItemId);
        return null;
    }

    @Override
    public MdItem checkMdItemById(Integer mdItemId) {
        MdItem mdItem = mdItemMapper.checkMdItemById(mdItemId);
        return mdItem;
    }

    @Override
    public Integer delListMdItemById(List<Integer> arrayMdItemId) {
        Integer integer = mdItemMapper.delListMdItemById(arrayMdItemId);
        return integer;
    }



    //如果传递进来的mdItem带有id则是修改，如果为空则是新增
    @Override
    public Integer addOrChMdItem(MdItem mdItem) {
        //解析jwt获取user信息
        TokenVerifyFilter tokenVerifyFilter=new TokenVerifyFilter();
        if (mdItem.getItemId()!=null) {
            //设置更新时间
            mdItem.setUpdateTime(new Date());
            //设置更新者名称
            mdItem.setUpdateBy(tokenVerifyFilter.getUserName().getUsername());
            return mdItemMapper.changeMdItem(mdItem);
        }else {
            //设置创建时间
            mdItem.setCreateTime(new Date());
            //设置创建者名称
            mdItem.setCreateBy(tokenVerifyFilter.getUserName().getUsername());
            return mdItemMapper.addMdItem(mdItem);
        }
    }
}